Touchdesigner + StableDiffusion
hr.icon
1. YouTubeチュートリアル
https://gyazo.com/25c7e4a7113881099860fcb9c17c975e
https://www.youtube.com/watch?v=4wpn_3JNaIc
hr.icon
2. StableDiffusionとは
参考)
hr.icon
3. AUTOMATIC1111版とFORGE版
今回のチュートリアルで対応しているのはAUTOMATIC111版
参考)
hr.icon
4. インストール方法 (Mac)
ユーザー>マイドキュメント上で右クリックして「ターミナルで開く」からgitでcloneする
Microsoft Store版Pythonが邪魔する可能性があるので以下を行う
システム環境変数のダミーパスを削除
%USERPROFILE%¥AppData¥Local¥Microsoft¥WindowsApps
他のStore版アプリにも影響するかも
下記の本体削除だけで解決する可能性もある(未検証)
本体も削除 C:\Users\*****\AppData\Local\Microsoft\WindowsApps\python.exe python3.exeもあれば同時に削除
webui-user.bat起動後、Installing requirementsあたりで数分止まるが処理に時間がかかっているだけなので待つ
起動方法はmacと異なり、TouchDesingerのSD_API Base ContainerのAPI SettingsのSD Webui Folderにインストール先を指定する。Launch WebUIのPulseで起動。手動でwebui-use.batで起動しても同じ意味。
4.1 Pythonのインストール
python 3.10必須
StreamDiffusionでは、python 3.11に戻す必要がある → 3.10でも動作する
(注意点)本体パスの.zshrc でエイリアス指定する方法はpythonのアップデート(3.10.6から3.10.9等)に対応できないのと3.10と3.11の切り替えの際に面倒なので使わない。pyenvを利用する方法もあるが、環境構築が面倒なのと、今回は実験前の状態に戻しやすい方法で行う。
python 3.10のインストール ※AUTOMATIC1111は上記サイトによるとpython 3.10を利用している
brew install python@3.10
Homebrewでインストールしたpython3.10の確認
brew list python@3.10
複数リストアップされる
/opt/homebrew/Cellar/python@3.10.............が保存先
現在使えるpyhtonの場所とバージョンの確認
which python3
python3 --version
Homebrewでpythonインストールしたとしても、以下のシンボリックリンクが作成されていることを確認する。ない場合でCellar内の本体パスを利用している場合は今回の方法は使えない。
1. (不要・前述同じ)現状確認
3.10 の Cellar 内に python3.10があることを確認
ls -l /opt/homebrew/Cellar/python@3.10/*/bin/
2. symlinkの存在を確認
ls -l /opt/homebrew/opt/python@3.10/bin/python3
以下からsymlink存在しないことがわかる
本来、Homebrewでインストールした時点でsymlinkが作成されるはずだが、近年のmacではうまくいかないらしい
ls: /opt/homebrew/opt/python@3.10/bin/python3: No such file or directory
3. 手動でPython 3.10 の symlink を作る
ln -s /opt/homebrew/opt/python@3.10/bin/python3.10 /opt/homebrew/opt/python@3.10/bin/python3
4. 再度、symlinkの存在を確認
ls -l /opt/homebrew/opt/python@3.10/bin/python3
以下のようになれば成功
/opt/homebrew/opt/python@3.10/bin/python3 lrwxr-xr-x 1 user admin 44 10月 12 23:18 /opt/homebrew/opt/python@3.10/bin/python3 -> /opt/homebrew/opt/python@3.10/bin/python3.10
5. PATHの先頭に追加
現状のPATH(=環境変数)の確認
echo $PATH
例・目標とする記述)/opt/homebrew/opt/python@3.10/bin:(これ以降はOS初期状態)/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
追記する場合
export PATH="/opt/homebrew/opt/python@3.10/bin:$PATH"
全パスを記述し直す場合
すでに上記以上のパスがある場合はそれをもとに、冒頭に/opt/homebrew/opt/python@3.10/bin:を追記する
export PATH="/opt/homebrew/opt/python@3.10/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
キャッシュのリセット
hash -r
5. 現在使えるpyhtonの場所とバージョンの確認
which python3
python3 --version
4.2 Stable Difuusion Web UI (AUTOMATIC1111版)のインストール
参考)AUTOMATIC1111サイト(映像1:30)
基本的に上記サイトの通り
1. brew install cmake protobuf rust python@3.10 git wget
3. nano stable-diffusion-webui/webui-macos-env.sh
export COMMANDLINE_ARGS=~の末尾に "--no-half" 最初のハイフン2個
https://gyazo.com/4556429a85f11b461e3687bdb0f49baf
4.3 AUTOMATIC1111単独でのブラウザ起動
bash stable-diffusion-webui/webui.sh
初回起動は時間がかかる
学内ネットで5〜10分
終了させる場合、ターミナルで[Control]+[C]キーを押して、[Enter]キーを押すことでも可能だが、強引にターミナルを閉じるだけでもよい
hr.icon
モデル・LoRA・VAE・拡張機能の使い方
以下を参照
8.モデルとは
9.モデルファイル(Checkpoint)の入れ方・使い方
10.追加学習モデルLoRAの使い方・作り方
11.Stable diffusion XI(SDXL)の使い方
12.VAEの入れ方・使い方
13.拡張機能の使い方
14.ControlNetの使い方
15.生成画像の表情のコントロール
hr.icon
5. 起動方法
SD_API Base Containerの設定方法 映像18:30
Stable Diffusion WebUIのインストール先は以下
/Users/ユーザー名/stable-diffusion-webui/
Macでは起動はターミナルから手動で行う
bash stable-diffusion-webui/webui.sh --api
単独起動とは異なり、-apiをつけないと一部のapiルートが動かない
エラーの解析のためにDialogues > Textport and DATを表示しておく
Output folderタブのSettings OverayはONにしておく
入力画像はfitで512 x 512程度にする
解像度が高いほど時間がかかる
MacではFPSはかなり遅いので、Sound Reactiveには使えないだろう
ただ、TouchDesingerでStable Diffusion使えれば、応用しやすい
メモ)SDサーバーをローカルで立てて、ネットワークからアクセスさせれればいいのかも
参考
https://www.youtube.com/watch?v=4khcLvGjoX8
hr.icon
3.11への戻し方
一応、3.10でもStreamDiffusionは動いていた。しかも3.10の方が早い気がする
ただし、環境インストール時は3.11で行ったので、最初から3.10でも大丈夫かはわからない
3.11への戻し方
hr.icon
メモ
pythonが想定したバージョンにならない場合は、各シェルの内容を確認する。特定のバージョンのpython指定があった場合は削除する。
~/.zshrc
~/.zprofile
~/.zlogin
~/.zshenv
nanoスペース上記で中身を確認して記述があれば削除
pyenvを使ったpythonバージョン切り替え
ターミナルの使い方
nanoの使い方
hr.icon
DIY Stable Diffusion API ↔ TouchDesigner
https://www.youtube.com/watch?v=4khcLvGjoX8
hr.icon
応用編
https://www.youtube.com/watch?v=LCar8AIcRto